package br.com.localab.usuario.controlador;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.hibernate.Session;

import br.com.localab.fachada.Fachada;
import br.com.localab.usuario.modelo.Usuario;
import br.com.localab.util.autenticar.FacesContextUtil;

@ManagedBean
@ViewScoped
public class ListarUsuarioMB implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private List<Usuario> lista;
	private List<Usuario> filteredUsers;
	private Fachada fachada;
	private Session s;
	private Usuario usuario;
	
	public ListarUsuarioMB() {
		// TODO Auto-generated constructor stub
        s = FacesContextUtil.getRequestSession();
		fachada = new Fachada(s);
		this.lista =  fachada.usuarioListar();
	}
	
	public void removerUsuario(Usuario usuario){
		s = FacesContextUtil.getRequestSession();
		fachada = new Fachada(s);
		String mensagem = fachada.usuarioRemover(usuario);
		FacesContextUtil.setMessageInformacao("Info", mensagem);
	}
	
	public String editarUsuario(Usuario usuario){
		FacesContextUtil.setSessionAttribute("editarUsuario", usuario);
		return "/administrador/usuario/editar.xhtml";
	}
	
	public List<Usuario> getLista() {
		return lista;
	}

	public void setLista(List<Usuario> lista) {
		this.lista = lista;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public List<Usuario> getFilteredUsers() {
		return filteredUsers;
	}

	public void setFilteredUsers(List<Usuario> filteredUsers) {
		this.filteredUsers = filteredUsers;
	}
	
	
	
	
}
